package main.com.oaer.service;

import main.com.oaer.model.PageList;
import main.com.oaer.model.User;
/**
 * 用户 业务类
 */
public interface UserService {
	
	/**
	 * 获取单个用户 
	 * @param id  用户id
	 * @return  用户对象
	 */
	User load(Long id);
	
	/**
	 * 添加用户
	 * @param user  待插入用户对象
	 */
	void add(User user);
	
	/**
	 * 分页获取所有用户信息
	 * @param currentPage  当前页
	 * @param pageSize  每页数目
	 * @param user 查询条件
	 * @return  用户列表
	 */
	PageList findUsersByPage(Integer currentPage, Integer pageSize,User user);
	
	/**
	 * 删除用户,并删除对应的用户角色关联
	 * @param user  待删除用户对象
	 */
	void delete(User user);
	
	/**
	 * 根据用户名获取用户实体
	 * @param username 用户名
	 * @return 用户对象
	 */
	User findUserByUsername(String username);
}
